package com.tiancheng.trade.order.bo;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;

/**
 * 资金授权操作查询接口返回
 */
@Getter
@Setter
public class CreditOrderQueryDetailBo {
    /**
     * 该订单是否支持芝麻免押
     */
    private Integer isCreditOrder;
    /**
     * 芝麻信用免押金额
     */
    private Integer depositAmount;
    /**
     * 平台业务订单id
     */
    private String platformOrderId;

    /**
     * 支付宝授权订单id
     */
    private String alipayAuthNo;
    /**
     * 订单中心订单id
     */
    @JSONField(name="gwOrderNo")
    private String gwOrderId;
    /**
     * 支付宝资金操作流水号
     */
    @JSONField(name="operationId")
    private String alipayOperationId;
    /**
     * 自生成的请求流水号
     */
    private String requestNo;
    /**
     * 订单累计的冻结金额，单位为分
     */
    private Long totalFreezeAmount;
    /**
     * 订单总共剩余的冻结金额
     */
    private Long restAmount;
    /**
     * 订单累计用于支付的金额
     */
    private Long totalPayAmount;
    /**
     * 业务订单的简单描述，如商品名称等
     */
    private String orderTitle;
    /**
     * 付款方支付宝账号
     */
    private String payerLogonId;
    /**
     * 付款方支付宝账号对应的支付宝唯一用户号
     */
    private String payerUserId;
    /**
     * 商户请求创建预授权订单时传入的扩展参数
     */
    private String extraParam;
    /**
     * 该笔资金操作流水alipayOperationId对应的操作金额
     */
    private Long amount;
    /**
     * 支付宝资金操作类型 FREEZE-冻结；UNFREEZE-解冻；PAY-支付
     */
    private String operationType;
    /**
     * 资金操作流水的状态：INIT-初始；SUCCESS-成功；CLOSED-关闭
     */
    private String status;
    /**
     * 商户对本次操作的附言描述
     */
    private String remark;
    /**
     * 资金授权单据操作流水创建时间，格式：YYYY-MM-DD HH:MM:SS
     */
    private String gmtCreate;
    /**
     * 支付宝账务处理成功时间，格式：YYYY-MM-DD HH:MM:SS
     */
    private String gmtTrans;
    /**
     * 预授权类型，CREDIT_AUTH(信用预授权)
     */
    private String preAuthType;
    /**
     * 标价币种, amount 对应的币种单位
     */
    private String transCurrency;
    /**
     * 累计冻结信用金额
     */
    private Long totalFreezeCreditAmount;
    /**
     * 累计冻结自有资金金额
     */
    private Long totalFreezeFundAmount;
    /**
     * 累计支付信用金额
     */
    private Long totalPayCreditAmount;
    /**
     * 累计支付自有资金金额
     */
    private Long totalPayFundAmount;
    /**
     * 剩余冻结信用金额
     */
    private Long restCreditAmount;
    /**
     * 剩余冻结自有资金金额
     */
    private Long restFundAmount;
    /**
     * 该笔资金操作流水对应的操作信用金额
     */
    private Long creditAmount;
    /**
     * 该笔资金操作流水对应的操作自有资金金额
     */
    private Long fundAmount;
}
